//- Copyright (C) 2023 Beijing Huaxia Chunsong Technology Co., Ltd. 
//- <https://www.chatopera.com>, Licensed under the Chunsong Public 
//- License, Version 1.0  (the "License"), https://docs.cskefu.com/licenses/v1.html
//- Unless required by applicable law or agreed to in writing, software
//- distributed under the License is distributed on an "AS IS" BASIS,
//- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//- See the License for the specific language governing permissions and
//- limitations under the License.
//- Copyright (C) 2018-Jun. 2023 Chatopera Inc, <https://www.chatopera.com>
//- Licensed under the Apache License, Version 2.0
//- http://www.apache.org/licenses/LICENSE-2.0
extends /apps/include/layout.pug

block content
    .layui-side.layui-bg-black
        .layui-side-scroll
            include /admin/system/chatbot/include/left.pug
    .layui-body
        if currentbotid
            .row
                .col-lg-12
                    h1.site-h1.ukefu-tab(style='border-top:1px solid #e6e6e6;height:26px;')
                        span.ukefu-bt
                            .ukefu-bt-text
                                .ukefu-bt-text-title
                                    | 智能机器人
                        //  按钮组件
                        .ukefu-bt-text-content(style='position: absolute;right: 5px;top: 0px;')
                            .layui-btn-group.ukefu-btn-group
                                button.layui-btn.layui-btn-small(onclick="showChatbotEditDialogue('#{currentbotid}')")
                                    i.layui-icon &#xe643;
                                    |  绑定

                                button.layui-btn.layui-btn-small(onclick="openChatbotBotPlatform('#{currentbot.clientId}')")
                                    i.layui-icon &#xe631;
                                    |  配置

                                button.layui-btn.layui-btn-small(onclick='showChatbotCreateDialogue()')
                                    i.layui-icon &#xe654;
                                    |  新建

                                button.layui-btn.layui-btn-danger.layui-btn-small(onclick='showChatbotDeleteDialogue()')
                                    i.layui-icon &#xe640;
                                    |  删除

                                button.layui-btn.layui-btn-normal.layui-btn-small(onclick='openChatbotIntegrationInfoCenter()')
                                    i.layui-icon &#xe60a;
                                    |  文档中心

            //  提示
            .row(style='padding-left:5px;')
                .row
                    blockquote.layui-elem-quote
                        p
                            | 智能机器人用于在访客端实现机器人客服，具体使用参考文档中心
                            a(href='https://docs.cskefu.com/docs/work-chatbot/', target='_blank') 《春松客服机器人客服》
                            | 。

            //  工作状态
            .row(style='padding:5px;')
                .col-lg-12
                    fieldset.layui-elem-field.layui-field-title
                        legend 智能客服
                        .layui-field-box
                            blockquote.layui-elem-quote.layui-quote-nm
                                p
                                    | 在开启状态下，在访客端可以看到
                                    b 智能客服
                                    | 对话窗口并与机器人客服对话。
                            form.layui-form(action)
                                .layui-form-item
                                    .layui-input-block
                                        input(type="checkbox" lay-filter="bot-workstatus" name="switch" lay-skin="switch" lay-text="启用|禁用", checked=(currentbot.enabled ? 'checked' : false))
                        legend 知识库建议
                        .layui-field-box
                            blockquote.layui-elem-quote.layui-quote-nm
                                p
                                    | 知识库建议包括
                                    b 知识库联想
                                    | 和
                                    b 知识库快捷
                                    | 。
                                    b 知识库联想
                                    | ：当坐席与访客进行对话过程中，坐席输入消息时是否得到机器人的建议回复；
                                    b 知识库快捷
                                    | ：当坐席与访客进行对话过程中，坐席收到访客的消息时是否得到机器人的建议回复。
                            form.layui-form(action)
                                .layui-form-item
                                    .layui-input-block
                                        input(type="checkbox" lay-filter="bot-aisuggest" name="bot-aisuggest" lay-skin="switch" lay-text="启用|禁用" , checked=(currentbot.aisuggest ? 'checked' : false))
            //  绑定
            .row(style='padding-left:5px;')
                .col-lg-12
                    fieldset.layui-elem-field.layui-field-title
                        legend 绑定
                        .layui-field-box
                            blockquote.layui-elem-quote.layui-quote-nm
                                p
                                    | 以下信息为春松客服使用该智能机器人集成的信息，去
                                    a(href='javascript:void(0)', onclick="showChatbotEditDialogue('#{currentbotid}')") 设置
                                    | 。
                            table.layui-table(lay-even, lay-skin='nob')
                                colgroup
                                    col(width='150')
                                    col(width='200')
                                    col(width='400')
                                tbody
                                    tr
                                        td 渠道
                                        td
                                            if currentbot.channel == "webim"
                                                | 网站
                                            else if currentbot.channel == "skype"
                                                | Skype
                                            else if currentbot.channel == "callout"
                                                | 外呼
                                            else if currentbot.channel == "messenger"
                                                | Messenger
                                            else
                                                | 未知渠道类型
                                        td
                                            p(style='color: #9C9C9C') 访客接入的方式
                                    tr
                                        td 渠道名称
                                        td= snsAccountName
                                        td
                                            p(style='color: #9C9C9C') 限定了智能机器人出现的渠道标识。
                                    tr
                                        td 创建人
                                        td= creatorname ? creatorname : "未知"
                                        td
                                            p(style='color: #9C9C9C') 创建人初次设定了智能机器人。
                                    tr
                                        td 工作模式
                                        td= currentbot.workmode
                                        td
                                            p(style='color: #9C9C9C') 工作模式有"机器人优先"，"人工坐席优先"和"仅机器人客服"三种，这决定了访客连线后默认对接的方式。
            //  配置
            .row(style='padding:5px;')
                .col-lg-12
                    fieldset.layui-elem-field.layui-field-title
                        legend 配置
                        .layui-field-box
                            blockquote.layui-elem-quote.layui-quote-nm
                                p
                                    a(href='javascript:void(0)', onclick="openChatbotBotPlatform('#{currentbot.clientId}')") 进入Chatopera云服务
                                    | 设置以下信息及知识库、多轮对话、意图识别、使用情况分析和对话历史等信息。
                            table.layui-table(lay-even, lay-skin='nob')
                                colgroup
                                    col(width='150')
                                    col(width='200')
                                    col(width='300')
                                tbody
                                    tr
                                        td 描述
                                        td= currentbot.description
                                        td
                                            p(style='color: #9C9C9C') 智能机器人的描述，侧重于业务，访客不会看到该信息。
                                    tr
                                        td 欢迎语
                                        td= currentbot.welcome
                                        td
                                            p(style='color: #9C9C9C') 与访客建立连接后，智能机器人发送的打招呼信息。
                                    tr
                                        td 兜底回复
                                        td= currentbot.fallback
                                        td
                                            p(style='color: #9C9C9C') 当智能机器人不清楚如何回复时的回复。
        else
            .row
                .col-lg-12
                    h1.site-h1.ukefu-tab(style='border-top:1px solid #e6e6e6;height:26px;')
                        span.ukefu-bt
                            .ukefu-bt-text
                                .ukefu-bt-text-title 智能机器人

                        //  按钮组件
                        .ukefu-bt-text-content(style='position: absolute;right: 5px;top: 0px;')
                            .layui-btn-group.ukefu-btn-group
                                button.layui-btn.layui-btn-small(onclick='showChatbotCreateDialogue()')
                                    i.layui-icon &#xe654;
                                    span  新建

                                button.layui-btn.layui-btn-small(onclick='openChatbotBotPlatform()')
                                    i.csfont &#xe602;
                                    span  登录Chatopera云服务

                                button.layui-btn.layui-btn-normal.layui-btn-small(onclick='openChatbotIntegrationInfoCenter()')
                                    i.layui-icon &#xe60a;
                                    span 文档中心

            .row(style='padding:5px;')
                .col-lg-12
                    | 还没有智能机器人？新用户赠送免费试用资源包，
                    a(href='javascript:void(0)', onclick='showChatbotCreateDialogue()') 现在去创建！
    script.
        // 打开文档中心
        function openChatbotIntegrationInfoCenter() {
            window.open("https://docs.cskefu.com/docs/work-chatbot/", "_blank");
        }

        // 展示编辑机器人的窗口
        function showChatbotEditDialogue(chatbotid) {
            console.log("showChatbotEditDialogue", chatbotid);
            layer.open({
                title: '编辑智能机器人',
                type: 2,
                area: ['700px', '450px'],
                content: 'edit.html?id=' + chatbotid
            })
        }

        // 展示创建机器人的对话框
        function showChatbotCreateDialogue() {
            layer.open({
                title: '集成智能机器人',
                type: 2,
                area: ['700px', '450px'],
                content: 'edit.html'
            })
        }

        // 删除机器人
        function showChatbotDeleteDialogue() {
            var lindex = layer.confirm('请确认是否删除？', {
                btn: ['确认', '取消']
            }, function () {
                return restApiRequest({
                    path: "chatbot",
                    data: {
                        ops: 'delete',
                        id: '#{currentbotid}'
                    }
                }).then(function (result) {
                    // 刷新页面
                    layer.close(lindex);
                    setTimeout(function () {
                        location.href = "/admin/system/chatbot/index.html";
                    }, 300);
                }, function (reason) {
                    // TODO 提示错误
                    console.log("[ChatbotDelete] error: ", reason);
                    layer.close(lindex);
                });
            }, function () {
                layer.close(lindex);
            });

        }

        // 打开机器人管理地址
        function openChatbotBotPlatform(chatbotid) {
            var botMgrUrl = "#{botServiceProvider}";
            if (chatbotid) {
                botMgrUrl = "#{botServiceProvider}/dashboard/clients/" + chatbotid + "/control-center";
            }

            window.open(botMgrUrl, "_blank");
        }

        // 设置机器人工作状态
        function setChatbotWorkstatus(id, workstatus) {
            restApiRequest({
                path: "chatbot",
                silent: true,
                data: {
                    ops: workstatus ? "enable" : "disable",
                    id: id
                }
            });
        }

        function setChatbotAiSuggest(id, aisuggest) {
            restApiRequest({
                path: "chatbot",
                silent: true,
                data: {
                    ops: aisuggest ? "enableAiSuggest" : "disableAiSuggest",
                    id: id
                }
            });
        }

        layui.use(['form'], function () {
            var form = layui.form();
            form.render();

            form.on('switch(bot-workstatus)', function (data) {
                setChatbotWorkstatus('#{currentbotid}', data.elem.checked);
            });

            form.on('switch(bot-aisuggest)', function (data) {
                setChatbotAiSuggest('#{currentbotid}', data.elem.checked);
            });
        });

